package com.qls.ali.biz.service.fz;


import com.qls.core.entity.DtStore;
import com.qls.core.entity.OpOurRateplanPrice;

import java.util.List;
import java.util.Map;

/**
 * 缓存更新
 *
 * @author doyoung
 */
public interface Cache {

    /**
     * 获取日期0库存缓存过滤
     *
     * @param storeId Integer
     * @return List<String>
     */
    List<String> getZeroDate(Integer storeId);

    /**
     * 缓存查询阶梯价格加幅
     *
     * @param crpId Integer
     * @return List<OpOurRateplanPrice>
     */
    List<OpOurRateplanPrice> getStairPrice(Integer crpId);

    /**
     * 缓存获取店铺数据
     *
     * @param storeId Integer
     * @return DtStore
     */
    DtStore getStore(Integer storeId);

    /**
     * 删除全局过滤缓存
     *
     * @param rpCode  String
     * @param storeId Integer
     * @return boolean
     */
    boolean delGlobFilterCache(String rpCode, Integer storeId);

    /**
     * 增加全局缓存过滤
     *
     * @param rpCode  String
     * @param storeId Integer
     * @return boolean
     */
    boolean addGlobFilterCache(String rpCode, Integer storeId, Integer partnerId);

    /**
     * 获取全局缓存过滤
     *
     * @param rpCode String
     * @return List<Integer>
     */
    Map<String, Object> getGlobFilterCache(String rpCode);

    /**
     * 增加crpIds
     *
     * @param roomCode String
     * @param rpCode   String
     * @param storeId  Integer
     * @param crpIds   List<Integer>
     * @return List<Integer> 新增的自定义rpIds
     */
    List<Integer> addRpStoreMap(String roomCode, String rpCode, Integer storeId, List<Integer> crpIds, Integer partnerId);

    /**
     * 获取自定义价格政策
     *
     * @param rpCode  String
     * @param storeId Integer
     * @return Map<String, Object>
     */
    Map<String, Object> getRpStoreMap(String rpCode, Integer storeId);

    /**
     * 删除自定义价格政策id
     *
     * @param rpCode  String
     * @param storeId Integer
     * @param crpIds  List<Integer>
     * @return boolean
     */
    boolean delRpStoreMap(String rpCode, Integer storeId, List<Integer> crpIds);

}
